package com.qdlc.p2p.biz.service;

import java.util.List;

import com.qdlc.p2p.dal.dto.AdditionalFlowInvestor;
import com.qdlc.p2p.dal.dto.AdditionalFlowProject;
import com.qdlc.p2p.dal.dto.AdditionalFlowRepayPlan;
import com.qdlc.p2p.dal.dto.AdditionalFlowUpload;
import com.qdlc.p2p.dal.dto.User;
import com.qdlc.p2p.dal.model.FlowProjectModel;

/**
 * 理财产品业务
 *
 * @author wjx
 * @version 2.0
 * @date 2015年5月15日 上午11:46:37
 */
public interface FinanFlowService {

    /**
     * 根据uuid查询理财产品
     *
     * @param uuid
     * @return
     */
    AdditionalFlowProject getFlowProjectByUuid(String uuid);

    /**
     * 发布理财项目
     *
     * @param model
     */
    void addFlowProject(FlowProjectModel model, User user, List<AdditionalFlowUpload> list);

    /**
     * 初审项目
     *
     * @param model
     * @return
     */
    void verifyFlowProject(FlowProjectModel model);

    /**
     * 处理用户购买理财产品
     *
     * @param flowProject
     * @param flowModel
     * @return
     */
    AdditionalFlowInvestor addFlowInvestor(AdditionalFlowProject flowProject, FlowProjectModel flowModel);

    /**
     * 理财项目还款
     *
     * @param repayPlan
     */
    void autoFlowRepay(AdditionalFlowRepayPlan repayPlan);

}
